home *** CD-ROM | disk | FTP | other *** search
- PROGRAM PRINTME(OUTPUT);
- (*CEM 12/06/85.*)
-
- CONST
- FIRSTHALF = 9;
- SECONDHALF = 10;
- LENGTH = 22;
- Q = '''';
-
- VAR
- I,
- J: INTEGER;
- IMAGE: ARRAY [0.. LENGTH] OF PACKED ARRAY [1..40] OF CHAR;
-
- BEGIN (* PRINTME *)
- IMAGE[0] := 'PROGRAM PRINTME(OUTPUT); ';
- IMAGE[1] := ' (*CEM 12/06/85.*) ';
- IMAGE[2] := 'CONST FIRSTHALF = 9; ';
- IMAGE[3] := ' SECONDHALF = 10; ';
- IMAGE[4] := ' LENGTH = 22; ';
- IMAGE[5] := ' Q = ''''''''; ';
- IMAGE[6] := 'VAR I,J: INTEGER; ';
- IMAGE[7] := ' IMAGE: ARRAY[0..LENGTH] OF ';
- IMAGE[8] := ' PACKED ARRAY[1..40] OF CHAR; ';
- IMAGE[9] := 'BEGIN (* PRINTME *) ';
- IMAGE[10] := 'FOR I := 0 TO FIRSTHALF DO ';
- IMAGE[11] := ' WRITELN(IMAGE[I]); ';
- IMAGE[12] := 'FOR I := 0 TO LENGTH DO ';
- IMAGE[13] := ' BEGIN WRITE(''IMAGE['',I:2,''] := '',Q); ';
- IMAGE[14] := ' FOR J := 1 TO 40 DO ';
- IMAGE[15] := ' IF IMAGE[I][J] = Q ';
- IMAGE[16] := ' THEN WRITE(Q,Q) ';
- IMAGE[17] := ' ELSE WRITE(IMAGE[I][J]); ';
- IMAGE[18] := ' WRITELN(Q,'';'') ';
- IMAGE[19] := ' END; ';
- IMAGE[20] := 'FOR I := SECONDHALF TO LENGTH DO ';
- IMAGE[21] := ' WRITELN(IMAGE[I]) ';
- IMAGE[22] := 'END (*PRINTME*). ';
- FOR I := 0 TO FIRSTHALF DO
- WRITELN(IMAGE[I]);
- FOR I := 0 TO LENGTH DO
- BEGIN
- WRITE('IMAGE[', I: 2, '] := ', Q);
- FOR J := 1 TO 40 DO
- IF IMAGE[I] [J] = Q
- THEN
- WRITE(Q, Q)
- ELSE
- WRITE(IMAGE[I] [J]);
- WRITELN(Q, ';')
- END (*FOR*);
- FOR I := SECONDHALF TO LENGTH DO
- WRITELN(IMAGE[I])
- END (*PRINTME*).
-